package io.github.uicdb.et;

import io.github.uicdb.et.item.curios.*;
import io.github.uicdb.et.item.weapon.*;
import net.minecraft.world.item.Item;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.registries.DeferredItem;
import net.neoforged.neoforge.registries.DeferredRegister;

public class ModItems {
    public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(ElementalTheory.MODID);
    //weapon
    public static final DeferredItem<Item> WATER_SOURCE_STAFF = ITEMS.register("water_source_staff", () -> new WaterStaffItem(new Item.Properties()));
    public static final DeferredItem<Item> LIGHTNING_SWORD = ITEMS.register("lightning_sword", LightningSword::new);
    public static final DeferredItem<Item> SALAMANDRA = ITEMS.register("salamandra", Salamandra::new);
    public static final DeferredItem<Item> GUST = ITEMS.register("gust", Gust::new);
    public static final DeferredItem<Item> CUTOFF = ITEMS.register("cutoff", Cutoff::new);
    public static final DeferredItem<Item> NIGHT_DEMON = ITEMS.register("night_demon", NightDemon::new);


    public static final DeferredItem<Item> RANDOM_CURIO = ITEMS.register("random_curio", () -> new RandomCurioItem(new Item.Properties()));
    public static final DeferredItem<Item> WIND_WING = ITEMS.register("wind_wing", () -> new WindWingItem(new Item.Properties()));
    public static final DeferredItem<Item> PARALYSIS_RING = ITEMS.register("paralysis_ring", () -> new ParalysisRingItem(new Item.Properties()));
    public static final DeferredItem<Item> LUNAR_ECLIPSE = ITEMS.register("lunar_eclipse", () -> new LunarEclipseItem(new Item.Properties()));
    public static final DeferredItem<Item> SUNLIT = ITEMS.register("sunlit", () -> new SunlitItemItem(new Item.Properties()));
    public static final DeferredItem<Item> ENDER_LOCK = ITEMS.register("ender_lock", () -> new EnderLockItem(new Item.Properties()));

    public static final DeferredItem<Item> SAFTY_HAT = ITEMS.register("safty_hat", () -> new SaftyHatItem(new Item.Properties()));
    public static final DeferredItem<Item> SHADOW_NECKLACE = ITEMS.register("shadow_necklace", () -> new ShadowNecklaceItem(new Item.Properties()));
    public static final DeferredItem<Item> DST = ITEMS.register("dts", () -> new DTSItem(new Item.Properties()));
    public static final DeferredItem<Item> SUNDEE = ITEMS.register("sundee", () -> new SundeeBraceletItem(new Item.Properties()));
    public static final DeferredItem<Item> PR_CRYSTEL = ITEMS.register("pr_crystel", () -> new PrCrystelItem(new Item.Properties()));
    public static final DeferredItem<Item> THE_ENCHANTING_SCROLL = ITEMS.register("the_enchanting_scroll", () -> new TheEnchantingScrollItem(new Item.Properties()));
    public static final DeferredItem<Item> MAPLE_SORROW = ITEMS.register("maple_sorrow", () -> new MapleSorrowItem(new Item.Properties()));
    public static final DeferredItem<Item> DOGE_HAPPY = ITEMS.register("doge_happy", () -> new DogeHappyItem(new Item.Properties()));
    public static final DeferredItem<Item> WHEAT_WAVE = ITEMS.register("wheat_wave", () -> new WheatWaveItem(new Item.Properties()));

    public static final DeferredItem<Item> WATER_WATER = ITEMS.register("water_water", () -> new Item(new Item.Properties()));//无根之水
    public static final DeferredItem<Item> FIRE_FIRE = ITEMS.register("fire_fire", () -> new Item(new Item.Properties()));//真火

    public static void init(IEventBus bus) {
        ITEMS.register(bus);
    }
}
